/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package redSocialUjaenDAO;

import excepciones.*;
import java.text.SimpleDateFormat;
import javax.persistence.*;
import redsocialujaen_pa.Mensaje;

/**
 *
 * @author carmen
 */
public class DAOMensaje {

    static DAOMensaje instancia = null;
    
    SimpleDateFormat sdf;
    
    private DAOMensaje(){
        sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }
    
    public void crear(Mensaje m) throws ErrorCreacionMensaje {
        EntityManager em = gestorPersistencia.instancia().getEntityManager();

        try {
            em.getTransaction().begin();
            em.persist(m);
            em.getTransaction().commit();
        }
        catch(EntityExistsException e) {
            if (em.getTransaction().isActive()) 
                em.getTransaction().rollback();
            throw new ErrorCreacionMensaje();
        }
    }
    
    public void borrar(Mensaje m) throws ErrorBorradoMensaje {
        EntityManager em = gestorPersistencia.instancia().getEntityManager();

        try {
            em.getTransaction().begin();
            em.remove(m);
            em.getTransaction().commit();
        }
        catch(EntityExistsException e) {
            em.getTransaction().rollback();
            throw new ErrorBorradoMensaje();
        }        
    }
    
    
    public static DAOMensaje instancia() {
        if (instancia == null) {
            instancia = new DAOMensaje();
        }
        
        return instancia;
    }
}
